package com.ztom.top100;

/**
 * 最大子数组和
 * <p>
 * https://leetcode-cn.com/problems/maximum-subarray/
 *
 * @author ZhangTao
 */
public class Code24MaxSubArray {

    public int maxSubArray(int[] nums) {
        if (nums == null || nums.length == 0) {
            return 0;
        }
        int max = nums[0];
        // 当前位置之前的最大值
        int preMax = 0;
        for (int num : nums) {
            // 当前位置的最大值
            preMax = Math.max(preMax + num, num);
            max = Math.max(max, preMax);
        }
        return max;
    }
}
